<?php

use backend\models\Menu;
use yii\helpers\Html;
use yii\web\JqueryAsset;
use yii\widgets\ActiveForm;

/* @var $this yii\web\View */
/* @var $model backend\models\Menu */
/* @var $form yii\widgets\ActiveForm */



//注册js文件
$this->registerJsFile('@web/zTree/js/jquery.ztree.core.js',['depends'=>JqueryAsset::className()]);
//注册样式文件
$this->registerCssFile('@web/zTree/css/zTreeStyle/zTreeStyle.css');
//注册js代码
$jsfile = <<<DOG

    // zTree 的参数配置，深入使用请参考 API 文档（setting 配置详解）
        var setting = {
            data: {
                simpleData: {
                    enable: true,
                    idKey: "id",
                    pIdKey: "parent_id",
                    rootPId: 0
                }
            },
            callback:{
                onClick: function(event, treeId, treeNode){
                    $("#menu-parent_id").val(treeNode.id);
                    //console.dir(treeNode.id);
                }
            },
        };
    // zTree 的数据属性，深入使用请参考 API 文档（zTreeNode 节点数据详解）
        var zNodes = {$models};
    //好像是获得当前的树对象
        zTreeObj = $.fn.zTree.init($("#treeDemo"), setting, zNodes);
   
    //设定是否展开树节点
        zTreeObj.expandAll(false);
    //编辑室自动选中当前分类的父节点  parent_id  id
    //当前节点的parent_id ={$model->parent_id};
    //当前节点的父级节点的id是当前节点的parent_id
    //通过查找的到当前对象 的父级对象
    if('$model->parent_id'){
        var node = zTreeObj.getNodeByParam("id",'{$model->parent_id}',null);
         //把找到的对象设置为选中状态
         zTreeObj.selectNode(node);
    }


    /*
    function 举例
    1. 查找 id = 1 的节点数据
    var treeObj = $.fn.zTree.getZTreeObj("tree");
    var node = treeObj.getNodeByParam("id", 1, null);
   
    */
DOG;


$this->registerJs($jsfile);



?>

<div class="menu-form">

    <?php $form = ActiveForm::begin(); ?>

    <?= $form->field($model, 'name')->textInput(['maxlength' => true]) ?>

    <?= $form->field($model, 'route')->textInput(['maxlength' => true]) ?>

    <?= $form->field($model, 'parent_id')->hiddenInput() ?>

    <?php
    echo '<div>
        <ul id="treeDemo" class="ztree"></ul>
    </div>';

    ?>
    <?= $form->field($model, 'level')->textInput() ?>

    <?= $form->field($model, 'sort')->textInput() ?>

    <?= $form->field($model, 'description') ?>

    <div class="form-group">
        <?= Html::submitButton($model->isNewRecord ? 'Create' : 'Update', ['class' => $model->isNewRecord ? 'btn btn-success' : 'btn btn-primary']) ?>
    </div>

    <?php ActiveForm::end(); ?>

</div>
